package com.example.zxing_project;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;


public class MainActivity extends AppCompatActivity {
    //定义控件对象
    private EditText editText;
    private Button btnMakeOneCode;
    private Button btnMakeTwoCode;
    private  Button btnLoge,btnColors,btnBackground,btnUrl;
    private Button btnScan;

    //定义Bitmap对象用于二维码生成时的使用
    private Bitmap nom_bitmao;
    private ImageView imgShow;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化控件方法
        initView();
        String str=editText.getText().toString();//1.获取输入框文本

        btnMakeOneCode.setOnClickListener(new MyListen());
        btnScan.setOnClickListener(new MyListen());
        btnMakeTwoCode.setOnClickListener(new MyListen());
        btnLoge.setOnClickListener(new MyListen());
        btnColors.setOnClickListener(new MyListen());
        btnBackground.setOnClickListener(new MyListen());

    }


    private class MyListen implements View.OnClickListener{

        @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.btn_one_dimensional_code:
                    makeOneCode();//点击按钮跳转到新的页面，实现展示生成的一维码
                    break;
                case R.id.btn_two_dimensional_code:
                    makeTwoCode();//点击按钮跳转到新的页面，实现展示生成的普通二维码
                    break;
                case R.id.btn_scan_dimensional_code:
                    scanCode();//点击按钮跳转到新的页面，扫描二维码
                    break;
                case R.id.btn_loge:
                    makeTwoCodeHaveLoge();
                    break;
                case R.id.btn_colors:
                        makeCodeAndColors();
                    break;
                case R.id.btn_background:
                        makeCodeAndBackground();
                    break;
                case R.id.btn_URL:
                    URLToCode();
                    break;

            }
        }
    }

    private void URLToCode() {
        String str=editText.getText().toString();//1.获取输入框文本
        Intent intent=new Intent(
                MainActivity.this,//当前页面
                MakeMainActivity.class//二维码页面
        );//创建intent对象,跳转到生成二维码页面
        intent.putExtra("context",str);
        intent.putExtra("code","six");
        startActivity(intent);//跳转页面
    }

    private void makeCodeAndBackground() {
        String str=editText.getText().toString();//1.获取输入框文本
        Intent intent=new Intent(
                MainActivity.this,//当前页面
                MakeMainActivity.class//二维码页面
        );//创建intent对象,跳转到生成二维码页面
        intent.putExtra("context",str);
        intent.putExtra("code","five");
        startActivity(intent);//跳转页面
    }

    private void makeCodeAndColors() {
        String str=editText.getText().toString();//1.获取输入框文本
        Intent intent=new Intent(
                MainActivity.this,//当前页面
                MakeMainActivity.class//二维码页面
        );//创建intent对象,跳转到生成二维码页面
        intent.putExtra("context",str);
        intent.putExtra("code","four");
        startActivity(intent);//跳转页面

    }

    //生成带loge的二维码
    private void makeTwoCodeHaveLoge() {
        String str=editText.getText().toString();//1.获取输入框文本
        Intent intent=new Intent(
                MainActivity.this,//当前页面
                MakeMainActivity.class//二维码页面
        );//创建intent对象,跳转到生成二维码页面
        intent.putExtra("context",str);
        intent.putExtra("code","three");
        startActivity(intent);//跳转页面
    }


    private void scanCode() {
        Intent intent=new Intent(this,//当前页面
                ScanActivity.class//扫描页面
        );//创建intent对象,跳转到扫描页面
        startActivity(intent);//跳转页面
    }

    private void makeTwoCode() {
        String str=editText.getText().toString();//1.获取输入框文本
        Intent intent=new Intent(
                MainActivity.this,//当前页面
                MakeMainActivity.class//二维码页面
        );//创建intent对象,跳转到生成二维码页面
        intent.putExtra("context",str);
        intent.putExtra("code","two");
        startActivity(intent);//跳转页面
    }


    private void makeOneCode() {
        String str=editText.getText().toString();//1.获取输入框文本
        Intent intent=new Intent(
                MainActivity.this,//当前页面
                MakeMainActivity.class//二维码页面
        );//创建intent对象,跳转到生成二维码页面
        intent.putExtra("context",str);
        intent.putExtra("code","one");
        startActivity(intent);//跳转页面
    }




    //初始化控件
    private void initView() {
        editText=findViewById(R.id.et_sout);//输入框，负责输入url或者str是二维码的内容
        btnMakeOneCode=findViewById(R.id.btn_one_dimensional_code);//点击生成一维码照片按钮
        btnMakeTwoCode=findViewById(R.id.btn_two_dimensional_code);//点击生成二维码照片按钮
        btnLoge = findViewById(R.id.btn_loge);//生成带有loge的二维码
        btnColors = findViewById(R.id.btn_colors);//生成不同颜色组成的二维码
        btnBackground = findViewById(R.id.btn_background);//生成带有背景的二维码
        btnScan=findViewById(R.id.btn_scan_dimensional_code);//点击扫描按钮
        btnUrl = findViewById(R.id.btn_URL);
        imgShow = findViewById(R.id.img_show);

    }

}